<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://unpkg.com/vue"></script>
    <script>
        window.onload=function(){
            Vue.component("my-component",{
                template:'<div>A custom component</div>'
            });
            new Vue({
                el:"#example"
            }),
                    Vue.component('simple-counter', {
                        template: '<button v-on:click="counter += 1">{{ counter }}</button>',
                        // 技术上 data 的确是一个函数了，因此 Vue 不会警告，
                        // 但是我们返回给每个组件的实例却引用了同一个 data 对象
                        data: function () {
                            return {counter:0}
                        }
                    })
            new Vue({
                el: '#example-2'
            }),
                    Vue.component('child', {
                        // 声明 props
                        props: ['message'],
                        // 就像 data 一样，prop 可以用在模板内
                        // 同样也可以在 vm 实例中像“this.message”这样使用
                        template: '<span>{{ message }}</span>'
                    })
            new Vue({
                el: '#example-3',
                data:{parentMsg:''}
            })
        }
    </script>
</head>
<body>
<div id="example">
    <my-component></my-component>
</div>
<div id="example-2">
    <simple-counter></simple-counter>
    <simple-counter></simple-counter>
    <simple-counter></simple-counter>
</div>
<div id="example-3">
<child message="hello!"></child>


    <input v-model="parentMsg">
    <br>
    <child v-bind:message="parentMsg"></child>
</div>
</body>
</html>